Processors may include different types of execution units (EU), each dedicated and optimized for performing specific tasks. For example, a processor may include an integer EU for manipulating operands in integer format, a floating point EU for manipulating operands in floating point format and a multimedia EU for performing specific multimedia and communication instructions, such as, for example, Multi Media extensions (MMX™) instructions. Moreover, processors may also have more than one EU of each type.
A processor having more than one execution unit may employ out-of-order (OOO) techniques in order to use the execution units in an efficient manner. An instruction in a system memory, when processed by the processor, is decoded into one or more micro-operations (“u-ops”). Each u-op is to be executed by an OOO subsystem of the processor. The OOO subsystem enables more than one u-op to be executed at the same time, although the u-ops may be executed in a different order than the order in which they were received by the OOO subsystem.
It will be appreciated that for simplicity and clarity of illustration, elements shown in the figures have not necessarily been drawn to scale. For example, the dimensions of some of the elements may be exaggerated relative to other elements for clarity.